MoveLinearAbsolute
命令軸群之工具中心點自當前位置進行直線插補運動至指定坐標系之絕對位置。
語法
KsCommandStatus MoveLinearAbsolute(
int Index,
int Length,
double* Position,
double Velocity,
double Acceleration,
double Deceleration,
double Jerk,
McCoordSystem CoordSystem,
McBufferMode BufferMode,
McTransitionMode TransitionMode,
double* TransitionParameter
);
參數
Index [in]:軸組索引,索引以零為起點。最多可有 32 個軸組。
Length [in]: 位置 (Position) 陣列長度。
Position [in]:指定坐標系中每個維度的絕對終點位置陣列 [1..N],其中 N 為 64。
Velocity [in]:定義路徑中坐標系路徑的最大速度,永遠為正值,非必要到達,[單位/秒]。
Acceleration [in]:最大加速度,永遠為正值,非必要到達,單位由 McProfileType 類型決定,為 [單位/秒2] 或 [秒]。
Deceleration [in]:最大減速度,永遠為正值,非必要到達,單位由 McProfileType 類型決定,為 [單位/秒2] 或 [秒]。
Jerk [in]:最大加加速度。永遠為正值,非必要到達,單位由 McProfileType 類型決定,為 [單位/秒3] 或 [秒]。
CoordSystem [in]:座標系統,請見 McCoordSystem 類型。
BufferMode [in]:定義如何融合兩功能的速度,請見 McBufferMode 類型。
TransitionMode [in]:插入轉換曲線。請見 McTransitionMode 類型。
TransitionParameter [in]:轉換模式的附加參數,若將 TransitionMode 設為 mcNone
,則此參數無效。
回傳值
返回 KsCommandStatus 結構。
備註
- 更多關於絕對、相對與附加的運作方式之資訊請見: 概念解說 > 運動。
- 更多關於融合模式的運作方式之資訊請見: 概念解說 > 融合運動。
-
當在 MoveLinear 函式中使用融合,需選擇 TransitionMode 並填入TransitionParameter,若用融合模式將函式傳送至
mcNone
與NULL
,將會發生錯誤。
範例
VOID MoveAbsolute(INT Group, DOUBLE PositionX, DOUBLE PositionY) {
DOUBLE Position[2] = { PositionX, PositionY };
//Start an absolute move.
KsCommandStatus move = WaitForCommand(30, TRUE, MoveLinearAbsolute(Group, 2, Position,
3600, 36000, 36000, 3600000,
mcAxisCoordSystem, mcAborting, mcNone, NULL));
GetGroupActualPosition(Group, mcAxisCoordSystem, mcActualValue, 2, Position);
RtPrintf("Current Position: %d,%d\n", (int)Position[0], (int)Position[1]);
}
使用需求
RT | Win32 | |
---|---|---|
最低支援版本 | 4.0 | 4.0 |
標頭檔 | ksmotion.h | ksmotion.h |
程式庫 | KsApi_Rtss.lib | KsApi.lib |
參見